//作业2：编写程序，循环接收用户从键盘输入多个字符串，直到输入“end”时循环结束，并将所有已输入的字符串按字典顺序倒序录入到项目下abc.txt中
package com.lagou.homework_1_4;

import java.io.FileWriter;
import java.io.IOException;
import java.util.*;

public class FileWriteTest {

    public static void main(String[] args) {

        //创建集合对象
        List<String> al = new ArrayList<>();
        //创建键盘输入对象
        Scanner sc = new Scanner(System.in);

        //创建IO流 FileWriter对象 用于写入文件
        FileWriter fw = null;
        try {
            fw = new FileWriter("C:/Users/Reanna/Desktop/abc.txt");

            //循环输入字符串并写入到数组中
            while (true){
                System.out.println("请输入一个字符串：");
                String c1 = sc.next();
                if ("end".equalsIgnoreCase(c1)){
                    break;
                }else {
                    //用集合接收输入的字符
                    al.add(c1);
                }
            }
            //对集合排序实现字典顺序
            Collections.sort(al);

            ////对集合倒序
            Collections.reverse(al);

            //把集合中的字符写入到文件abc.txt
            for (String str : al) {
                fw.write(str);
                fw.write("\n");
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //关闭键盘输入
            if (null!= sc){
                sc.close();
            }

            //关闭流对象并释放相关资源
            if (null!= fw){
                try {
                    fw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

        }

    }
}




